Persistent memory is becoming an important attribute of server architectures. As a result, the introduction of persistent memory in the server segment has made protecting data in persistent memory an important objective, since server and application software both assume data availability. However, current server memory architectures are not designed to provide protection in case of failure of persistent memory devices. Further, due to memory interleaving, failure of one device may lead to loss of data across multiple devices. It is therefore desirable to implement data protection in persistent memory.